Print shops are typically medium or large scale facilities capable of supplying printing services to meet a variety of customer demands. For example, print shops are often used to print documents used for mass-mailing (e.g., customer bills, advertisements, etc). Because print shops engage in printing on a scale that is hard to match, their customer base is usually varied. Print shop clients may therefore include both large institutional clients (e.g., credit card companies and banks), and small clients (e.g., small businesses and churches).
Print shops are generally arranged to print incoming jobs from clients in a way that is economical, yet fast. Thus, print shops often include a number of high-volume printers capable of printing incoming jobs quickly and at high quality. These printers may be managed by operators who can remove paper jams and reload the printers with media. Print shops also typically include post-print devices that are used to process the printed documents of each job (e.g., stackers, staplers, cutters, binders, etc.). Because print shops serve a variety of clients, they are often tasked with printing jobs that have varying printing formats, delivery dates, and media requirements. Print shops therefore often use a centralized print server that coordinates activity between printers of the print shop and clients. The print server schedules incoming jobs and forwards them to the printers they are directed to.
Clients with printing needs communicate with the print shop to send print jobs to a server. The server may then assign the print jobs to a print queue prior to printing the print jobs, or a print operator may assign the print jobs to the print queue. Typically, print jobs are scheduled to a print queue based on an order in which they were added to the print queue. For example, a print queue may have A4 jobs at the front of the queue (i.e., next in the queue to print) followed by a letter job scheduled to print after the A4 job. If an A4 job is added to the print queue, then the A4 job would typically be scheduled at the end of the queue, or in the example, after the letter job. This is known as a First In First Out (FIFO) queue. While this allows for scheduling of print jobs based on the order in which they are added to the print queue, the print operator may be tasked with a number of media changes at the printer as the print jobs are processed in the FIFO order. This makes the print operator's job harder.